package com.itheima.health.service;

import com.itheima.health.entity.PageResult;
import com.itheima.health.entity.QueryPageBean;
import com.itheima.health.exception.MyException;
import com.itheima.health.pojo.Role;

import java.util.List;

/**
 * @项目: health_parent
 * @包名: com.itheima.health.service
 * @
 * @作者: long rui nan
 * @日期: 2021-01-17 18:18
 */
public interface RoleService {

    /**
     * 分页查询
     * @param queryPageBean
     * @return
     */
    PageResult<Role> findPage(QueryPageBean queryPageBean) throws MyException;
    /**
     * 添加角色
     * @param role 角色信息
     * @param permissions 选中的权限id数组
     * @return
     */
    void add(Role role, Integer[] permissions,Integer[] menus) throws MyException;

    /**
     * 根据id删除角色
     * @param id
     */
    void deleteById(int id) throws MyException;

    /**
     * 根据id查询角色信息
     * @param id
     * @return
     */
    Role findById(int id);
    /**
     * 根据角色id查询角色与权限的关联id数组
     * @param id
     * @return
     */
    List<Integer> findPermissionsByRoleId(int id);
    /**
     * 修改角色
     * @param role
     * @param permissions
     * @return
     */
    void update(Role role, Integer[] permissions,Integer[] menus)throws MyException;
    /**
     * 根据角色id查询角色与菜单的关联id数组
     * @param id
     * @return
     */
    List<Integer> findMenuByRoleId(int id);
}